/**
 * jims
 */
package com.jims.master.modules.base.user.entity;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.jims.master.common.persistence.DataEntity;


import com.jims.master.modules.base.inquiry.entity.InquiryAsk;
import com.jims.master.modules.doctor.medicalService.entity.SDoctorServe;
import org.hibernate.validator.constraints.Length;

import java.util.Date;
import java.util.List;

/**
 * 医生信息Entity
 * @author qlx
 * @version 2017-04-27
 */
public class MasterDoctorinfo extends DataEntity<MasterDoctorinfo> {
	
	private static final long serialVersionUID = 1L;
	private String certNo;		// 医师执业证书号
	private String doctorNo;   //医生排序
	private String certDept;		// 发证机关
	private String level;		// 医师级别
	private String practiceScope;		// 执业范围
	private String practiceType;		// 执业类别
	private String registerPlace;		// 执业地点
	private MasterBaseinfo baseinfo;		// 用户主表id
	private String certificateNo;		// 医师资格证书号
	private String parts;		// 专业科室
	private String doctorGoodAt;		// 擅长
	private String workPic;		// 手持工作照
	private String licencePic;		// 职业照片
	private String titlePic;		// 资格证照片
	private String doctorProfile;		// 简介
	private String mechanism;		// 第一执业机构
	private String titles;		// 医师职称
	private String mechanismid;		// 第一执业机构id
	private String graduateSchool;		// 毕业院校
	private String specialty;		// 专业
	private String degree;		// 学位
	private Date graduationDate;		// 毕业时间
	private String fileUrl;		// 二维码路径
	private String docSort;		// 职称排序
	private String rejectReasons; //拒绝申请原因
	private String docFlag;     //医生申请标记
	private String rank;  //医生排序标识
	private List<InquiryAsk> inquiryAskList;//医生问诊集合
	private List<MasterBaseinfo> masterBaseinfoList;//添加的患者
	private String signFamilCount;//签约人数
	private String phone;
	private int pageNum;

	public int getPageNum() {
		return pageNum;
	}

	public void setPageNum(int pageNum) {
		this.pageNum = pageNum;
	}

	private String startTime;
	private String endTime;

	public List<MasterBaseinfo> getMasterBaseinfoList() {
		return masterBaseinfoList;
	}

	public void setMasterBaseinfoList(List<MasterBaseinfo> masterBaseinfoList) {
		this.masterBaseinfoList = masterBaseinfoList;
	}

	public String getRejectReasons() {
		return rejectReasons;
	}

	public void setRejectReasons(String rejectReasons) {
		this.rejectReasons = rejectReasons;
	}

	public String getStartTime() {
		return startTime;
	}

	public void setStartTime(String startTime) {
		this.startTime = startTime;
	}

	public String getEndTime() {
		return endTime;
	}

	public void setEndTime(String endTime) {
		this.endTime = endTime;
	}

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	private String name;
	private SysDepartment sysDepartment;
	private List<SDoctorServe> sDoctorServesList;

	public List<SDoctorServe> getsDoctorServesList() {
		return sDoctorServesList;
	}

	public void setsDoctorServesList(List<SDoctorServe> sDoctorServesList) {
		this.sDoctorServesList = sDoctorServesList;
	}

	private String code;  //diqu

	public String getDoctorNo() {
		return doctorNo;
	}

	public void setDoctorNo(String doctorNo) {
		this.doctorNo = doctorNo;
	}


	public String getLicencePic() {
		return licencePic;
	}

	public void setLicencePic(String licencePic) {
		this.licencePic = licencePic;
	}

	public String getWorkPic() {
		return workPic;
	}

	public void setWorkPic(String workPic) {
		this.workPic = workPic;
	}

	public String getTitlePic() {
		return titlePic;
	}

	public void setTitlePic(String titlePic) {
		this.titlePic = titlePic;
	}

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public SysDepartment getSysDepartment() {
		return sysDepartment;
	}

	public void setSysDepartment(SysDepartment sysDepartment) {
		this.sysDepartment = sysDepartment;
	}

	private int startPage;
	private String conntFlag;

	public String getConntFlag() {
		return conntFlag;
	}

	public void setConntFlag(String conntFlag) {
		this.conntFlag = conntFlag;
	}

	public int getStartPage() {
		return startPage;
	}

	public void setStartPage(int startPage) {
		this.startPage = startPage;
	}

	private String grade;   //医生评分

	public String getGrade() {
		return grade;
	}

	public void setGrade(String grade) {
		this.grade = grade;
	}

	public String getRank() {
		return rank;
	}

	public void setRank(String rank) {
		this.rank = rank;
	}

	public List<InquiryAsk> getInquiryAskList() {
		return inquiryAskList;
	}

	public void setInquiryAskList(List<InquiryAsk> inquiryAskList) {
		this.inquiryAskList = inquiryAskList;
	}

	public String getSignFamilCount() {
		return signFamilCount;
	}

	public void setSignFamilCount(String signFamilCount) {
		this.signFamilCount = signFamilCount;
	}

	public MasterDoctorinfo() {
		super();
	}

	public MasterDoctorinfo(String id){
		super(id);
	}

	@Length(min=0, max=64, message="医师执业证书号长度必须介于 0 和 64 之间")
	public String getCertNo() {
		return certNo;
	}

	public void setCertNo(String certNo) {
		this.certNo = certNo;
	}
	
	@Length(min=0, max=255, message="发证机关长度必须介于 0 和 255 之间")
	public String getCertDept() {
		return certDept;
	}

	public void setCertDept(String certDept) {
		this.certDept = certDept;
	}
	
	@Length(min=0, max=64, message="医师级别长度必须介于 0 和 64 之间")
	public String getLevel() {
		return level;
	}

	public void setLevel(String level) {
		this.level = level;
	}
	
	@Length(min=0, max=64, message="执业范围长度必须介于 0 和 64 之间")
	public String getPracticeScope() {
		return practiceScope;
	}

	public void setPracticeScope(String practiceScope) {
		this.practiceScope = practiceScope;
	}
	
	@Length(min=0, max=64, message="执业类别长度必须介于 0 和 64 之间")
	public String getPracticeType() {
		return practiceType;
	}

	public void setPracticeType(String practiceType) {
		this.practiceType = practiceType;
	}
	
	@Length(min=0, max=255, message="执业地点长度必须介于 0 和 255 之间")
	public String getRegisterPlace() {
		return registerPlace;
	}

	public void setRegisterPlace(String registerPlace) {
		this.registerPlace = registerPlace;
	}

	public MasterBaseinfo getBaseinfo() {
		return baseinfo;
	}

	public void setBaseinfo(MasterBaseinfo baseinfo) {
		this.baseinfo = baseinfo;
	}

	@Length(min=0, max=64, message="医师资格证书号长度必须介于 0 和 64 之间")
	public String getCertificateNo() {
		return certificateNo;
	}

	public void setCertificateNo(String certificateNo) {
		this.certificateNo = certificateNo;
	}
	
	@Length(min=0, max=64, message="专业科室长度必须介于 0 和 64 之间")
	public String getParts() {
		return parts;
	}

	public void setParts(String parts) {
		this.parts = parts;
	}
	
	public String getDoctorGoodAt() {
		return doctorGoodAt;
	}

	public void setDoctorGoodAt(String doctorGoodAt) {
		this.doctorGoodAt = doctorGoodAt;
	}
	
	public String getDoctorProfile() {
		return doctorProfile;
	}

	public void setDoctorProfile(String doctorProfile) {
		this.doctorProfile = doctorProfile;
	}
	
	@Length(min=0, max=255, message="第一执业机构长度必须介于 0 和 255 之间")
	public String getMechanism() {
		return mechanism;
	}

	public void setMechanism(String mechanism) {
		this.mechanism = mechanism;
	}
	
	@Length(min=0, max=64, message="医师职称长度必须介于 0 和 64 之间")
	public String getTitles() {
		return titles;
	}

	public void setTitles(String titles) {
		this.titles = titles;
	}
	
	@Length(min=0, max=64, message="第一执业机构id长度必须介于 0 和 64 之间")
	public String getMechanismid() {
		return mechanismid;
	}

	public void setMechanismid(String mechanismid) {
		this.mechanismid = mechanismid;
	}
	
	@Length(min=0, max=255, message="毕业院校长度必须介于 0 和 255 之间")
	public String getGraduateSchool() {
		return graduateSchool;
	}

	public void setGraduateSchool(String graduateSchool) {
		this.graduateSchool = graduateSchool;
	}
	
	@Length(min=0, max=255, message="专业长度必须介于 0 和 255 之间")
	public String getSpecialty() {
		return specialty;
	}

	public void setSpecialty(String specialty) {
		this.specialty = specialty;
	}
	
	@Length(min=0, max=255, message="学位长度必须介于 0 和 255 之间")
	public String getDegree() {
		return degree;
	}

	public void setDegree(String degree) {
		this.degree = degree;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getGraduationDate() {
		return graduationDate;
	}

	public void setGraduationDate(Date graduationDate) {
		this.graduationDate = graduationDate;
	}
	
	@Length(min=0, max=255, message="二维码路径长度必须介于 0 和 255 之间")
	public String getFileUrl() {
		return fileUrl;
	}

	public void setFileUrl(String fileUrl) {
		this.fileUrl = fileUrl;
	}
	
	@Length(min=0, max=50, message="职称排序长度必须介于 0 和 50 之间")
	public String getDocSort() {
		return docSort;
	}

	public void setDocSort(String docSort) {
		this.docSort = docSort;
	}

	public String getDocFlag() {
		return docFlag;
	}

	public void setDocFlag(String docFlag) {
		this.docFlag = docFlag;
	}
}